package com.yeziji.common.rabbitMq;

import com.yeziji.common.CommonEnum;
import com.yeziji.constant.RabbitMqExchangeTypeEnum;

import java.util.Map;

/**
 * rabbit mq 主題通用枚舉
 *
 * @author hwy
 * @since 2024/10/27 0:30
 **/
public interface RabbitMqTopicEnum extends CommonEnum {
    /**
     * 获取交换器
     *
     * @return {@link String}
     */
    String getExchange();

    /**
     * 指定交换机类型
     * @return {@link String}
     */
    RabbitMqExchangeTypeEnum getExchangeType();

    /**
     * 获取路由名称
     *
     * @return {@link String}
     */
    String getRouteKey();

    /**
     * 获取队列名称
     *
     * @return {@link String}
     */
    String getQueue();

    /**
     * 执行队列参数
     *
     * @return {@link String}
     */
    Map<String, Object> getArgs();
}
